home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / curses / wrapper.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  1KB  |  43 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. '''curses.wrapper
  5.  
  6. Contains one function, wrapper(), which runs another function which
  7. should be the rest of your curses-based application.  If the
  8. application raises an exception, wrapper() will restore the terminal
  9. to a sane state so you can read the resulting traceback.
  10.  
  11. '''
  12. import sys
  13. import curses
  14.  
  15. def wrapper(func, *args, **kwds):
  16.     """Wrapper function that initializes curses and calls another function,
  17.     restoring normal keyboard/screen behavior on error.
  18.     The callable object 'func' is then passed the main window 'stdscr'
  19.     as its first argument, followed by any other arguments passed to
  20.     wrapper().
  21.     """
  22.     res = None
  23.     
  24.     try:
  25.         stdscr = curses.initscr()
  26.         curses.noecho()
  27.         curses.cbreak()
  28.         stdscr.keypad(1)
  29.         
  30.         try:
  31.             curses.start_color()
  32.         except:
  33.             pass
  34.  
  35.         return func(stdscr, *args, **kwds)
  36.     finally:
  37.         stdscr.keypad(0)
  38.         curses.echo()
  39.         curses.nocbreak()
  40.         curses.endwin()
  41.  
  42.  
  43.